package com.silence.gmall.product.service;

import com.silence.gmall.product.dto.SkuInfoDto;
import com.silence.gmall.product.enums.OnSaleEnum;

/**
 * @Author silence
 * @Description 针对表【sku_info(库存单元表)】的数据库操作Service
 * @Date 2025-08-17 16:28:16
 */
public interface SkuInfoService {

    /**
     * 添加sku
     *
     * @param reqVo 请求参数
     */
    void saveSkuInfo(SkuInfoDto reqVo);

    /**
     * 修改sku
     *
     * @param reqVo 请求参数
     */
    void updateSkuInfo(SkuInfoDto reqVo);

    /**
     * 根据SKU ID查询详情信息
     *
     * @param skuId skuId
     * @return 详情信息
     */
    SkuInfoDto getSkuInfo(Long skuId);

    /**
     * 同步SKU信息主键集合信息
     */
    void syncSkuInfoIdList();

    /**
     * 商品上架/下架方法
     *
     * @param skuId      商品SKU ID，用于唯一标识一个商品
     * @param onSaleEnum 上架状态枚举，表示商品当前的上架状态
     */
    void onSale(Long skuId, OnSaleEnum onSaleEnum);
}